#include "SList.h"

void TestSList()
{
	SList* sl = NULL;
	SLPushBack(&sl, 1);
	SLPushBack(&sl, 2);
	SLPrintNode(sl);
	//SLPushBack(&sl, 2);
	//SLPushBack(&sl, 3);
	//SLPushBack(&sl, 4);
	//SLInsert(&sl, sl->next, 30);
	//SLPrintNode(sl);

	/*SLPushFront(&sl, 1);
	SLPushFront(&sl, 2);
	SLPushFront(&sl, 3);
	SLPushFront(&sl, 4);
	SLPrintNode(sl);*/

	SLPopBack(&sl);
	SLPrintNode(sl);
	//SLPopFront(&sl);
	
	/*SLPopBack(&sl);
	SLPopBack(&sl);
	SLPopBack(&sl);*/
}

void TestList2()
{
	SList* sl = NULL;
	SLPushBack(&sl, 1);
	SLPushBack(&sl, 2);
	SLPushBack(&sl, 3);
	SLPushBack(&sl, 4);
	SList* newnode = SLFindNode(sl, 1);
	SLPrintNode(newnode);
}

void TestList3()
{
	SList* sl = NULL;
	SLPushBack(&sl, 1);
	SLPushBack(&sl, 2);
	SLInsertAfter(sl->next, 30);
	SLDelete(&sl, sl->next);
	SLDestroy(&sl);
	SLPushFront(&sl, 30);
	SLPushBack(&sl, 40);
	//SLPopFront(&sl);
	SLPopBack(&sl);
	SLPrintNode(sl);
	/*SLDestroy(&sl);
	SLPrintNode(sl);*/
}

int main()
{
	//TestSList();
	//TestList2();
	TestList3();

	return 0;
}